package com.example.librarymanagement.service;

import com.example.librarymanagement.model.Book;

import java.util.List;
import java.util.Map;

public interface BookService {
    List<Book> listBooks();
    Book getBookById(Integer id);
    List<Book> queryBooksByConditions(Map<String, Object> conditions);
    Book addBook(Book book);
    Book updateBook(Integer bookId, Map<String, Object> updates);
    void deleteBook(Integer bookId);
    void updateBookAfterBorrow(Integer bookId);
    void returnBook(Integer bookId);
    List<Book> searchBooks(Map<String, String> searchCriteria);
    List<Book> listBorrowRankBooks();
}